package service

import (
	dao2 "Wechat/dao"
	domain2 "Wechat/domain"
	"github.com/fatih/structs"
	"reflect"
)

// 自定义activityService类型，用于调用函数
type ActivityService string

// 引入一个ActivityMapper用于调用函数
var activityMapper dao2.ActivityMapper

// 获取某一个活动的详情：前一个确认有没有，后面一个返回具体信息
func (a ActivityService) GetActivityDetail(activityID string) (bool, map[string]interface{}) {
	// 构造一个返回结构的Map
	var resMap = make(map[string]interface{})
	// 接收搜寻结果
	activity := activityMapper.SelectByActivityID(activityID)
	// 如果搜寻结果为空
	if reflect.DeepEqual(activity, domain2.Activity{}) {
		return false, resMap
	} else {
		// 使用第三方的structs转化结构体为Map
		resMap = structs.Map(&activity)
		return true, resMap
	}
}

// 获取活动列表，返回Activity数组
func (a ActivityService) GetListActivity(index int64) (bool, []domain2.Activity) {
	//	 获取查询到的结果，列表形式
	activitiesArr := activityMapper.SelectListActivity(index)
	// 检测查询结果是否为空
	if len(activitiesArr) == 0 {
		return false, activitiesArr
	} else {
		return true, activitiesArr
	}
}
